////////////////////////////////////////////////////////////////////////////////
// Filename: softshadow.ps
////////////////////////////////////////////////////////////////////////////////

//////////////////////
// CONSTANT BUFFERS //
//////////////////////
cbuffer randValue : register(b5)
{
	float4 ambientColor;
};

//////////////
// TEXTURES //
//////////////
Texture2D curTexture : register(t0);


///////////////////
// SAMPLE STATES //
///////////////////
SamplerState curSampleState : register(s0);

//////////////
// TYPEDEFS //
//////////////
struct PixelInputType
{
    float4 position : SV_POSITION;
    float2 tex : TEXCOORD0;
	float3 normal : NORMAL;	
    float4 WViewPosition : TEXCOORD1;
    float4 offTex : TEXCOORD2;
};

////////////////////////////////////////////////////////////////////////////////
// Pixel Shader
////////////////////////////////////////////////////////////////////////////////
float4 psMain(PixelInputType input) : SV_TARGET
{
	float2 projectTexCoord;
	projectTexCoord.x =  (input.WViewPosition.x + sin(ambientColor.x)) / input.WViewPosition.w / 2.0f + 0.5f;
	projectTexCoord.y = -(input.WViewPosition.y + + sin(ambientColor.x)) / input.WViewPosition.w / 2.0f + 0.5f;
	
	return curTexture.Sample(curSampleState, projectTexCoord);   
}

